Method and apparatus to organize files based on download locations

ABSTRACT

A computer implemented method, apparatus and computer usable program code for managing files. A set of origination locations for a plurality of files is identified to form a set of identified origination locations in response to a request to view the plurality of files. Each origination location in the set of identified origination locations identifies a location from which a file in the plurality of files has been received. A representation of the plurality of files is presented using a set of graphical indicators based on the set of identified origination locations

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to an improved data processingsystem and in particular a method and apparatus for organizing data.Still more particularly, the present invention relates to a computerimplemented method, apparatus, and computer usable program code fororganizing files based on the download location of the files.

2. Description of the Related Art

With the Internet, any computer may communicate with any other computerover the Internet using a variety of languages. These languages also arereferred to as protocols. The set of protocols used on the Internet iscalled transmission control protocol/Internet protocol (TCP/IP). TheInternet has revolutionized communications in commerce. For many users,e-mail is a widely used format to communicate over the Internet.Additionally, data is often transferred over the Internet. Users mayobtain programs as well as data files over the Internet. The transfer ofthis type of data is typically facilitated through the hypertexttransfer protocol (HTTP).

In downloading applications and files, a user may download files fromvarious sources. One common occurrence of downloading is when a userdownloads a plug-in to access websites or when a user installs programs,such as games, freeware, and shareware from different sites on theInternet.

Currently, these files are typically downloaded into a particulardirectory or folder for installation. When these files are downloaded,they are not organized based on the particular site from which the fileswere obtained. For example, operating system patches from an operatingsystem vendor are downloaded into a folder designated for the particularoperating system. Identifying the downloaded files based on the locationfrom where they were downloaded is currently unavailable.

Often times, however, a business will repackage these files specificallyfor use by its employees or customers. When the operating system filesare downloaded from the business rather than the operating systemvendor, these files are typically placed into the folder for theoperating system. As a result, identification of the source from wherethe files were received is unavailable. As another example, plug-insoften may be downloaded from different sites other than the vendor orcreator of the plug-in. These plug-ins are typically organized based onthe vendor rather than the source of the plug-in. When the source fromwhich the files were downloaded is unknown, the user is often unable todetermine whether the files should be trusted. For example, filesdownloaded from an employer's site are considered to be trusted whilefiles downloaded from a freeware site may be less trustworthy. Knowingthe download location of a file is often desirable because a user maynot want to run or use files that are from unknown or questionablesources when at work or connected to a network for the user's employer.The user may wish to run a monitoring program or firewall when a filefrom a questionable or unknown source is executed to ensure thatmalicious processes do not run or are stopped.

SUMMARY OF THE INVENTION

The illustrative embodiments provide a computer implemented method,apparatus, and computer usable program code for managing files. A set oforigination locations for a plurality of files is identified to form aset of identified origination locations in response to a request to viewthe plurality of files. Each origination location in the set ofidentified origination locations identifies a location from which a filein the plurality of files has been received. A representation of theplurality of files is presented using a set of graphical indicatorsbased on the set of identified origination locations.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 depicts a pictorial representation of a network of dataprocessing systems in which illustrative embodiments may be implemented;

FIG. 2 is a block diagram of a data processing system in whichillustrative embodiments may be implemented;

FIG. 3 is a diagram illustrating components used for identifying thelocation of files in accordance with an illustrative embodiment;

FIG. 4 is a diagram illustrating components used for viewing files basedon download locations in accordance with an illustrative embodiment;

FIGS. 5A and 5B are diagrams illustrating a display of files inaccordance with an illustrative embodiment;

FIG. 6 is a diagram illustrating a designation of locations for files inaccordance with an illustrative embodiment;

FIG. 7 is a diagram illustrating a listing of files sorted based ondownload location in accordance with an illustrative embodiment;

FIG. 8 is a flowchart of a process to identify and associate locationdata with downloaded files in accordance with an illustrativeembodiment; and

FIG. 9 is a flowchart of a process to display a set of files using theassociated location data in accordance with an illustrative embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to the figures and in particular with reference toFIGS. 1-2, exemplary diagrams of data processing environments areprovided in which illustrative embodiments may be implemented. It shouldbe appreciated that FIGS. 1-2 are only exemplary and are not intended toassert or imply any limitation with regard to the environments in whichdifferent embodiments may be implemented. Many modifications to thedepicted environments may be made.

With reference now to the figures, FIG. 1 depicts a pictorialrepresentation of a network of data processing systems in whichillustrative embodiments may be implemented. Network data processingsystem 100 is a network of computers in which embodiments may beimplemented. Network data processing system 100 contains network 102,which is the medium used to provide communications links between variousdevices and computers connected together within network data processingsystem 100. Network 102 may include connections, such as wire, wirelesscommunication links, or fiber optic cables.

In the depicted example, server 104 and server 106 connect to network102 along with storage unit 108. In addition, clients 110, 112, and 114connect to network 102. These clients 110, 112, and 114 may be, forexample, personal computers or network computers. In the depictedexample, server 104 provides data, such as boot files, operating systemimages, and applications to clients 110, 112, and 114. Clients 110, 112,and 114 are clients to server 104 in this example. Network dataprocessing system 100 may include additional servers, clients, and otherdevices not shown.

In the depicted example, network data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers, consisting of thousands of commercial, governmental,educational and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as for example, an intranet,a local area network (LAN), or a wide area network (WAN). FIG. 1 isintended as an example, and not as an architectural limitation fordifferent embodiments.

With reference now to FIG. 2, a block diagram of a data processingsystem is shown in which illustrative embodiments may be implemented.Data processing system 200 is an example of a computer, such as server104 or client 110 in FIG. 1, in which computer usable code orinstructions implementing the processes may be located for theillustrative embodiments.

In the depicted example, data processing system 200 employs a hubarchitecture including a north bridge and memory controller hub (MCH)202 and a south bridge and input/output (I/O) controller hub (ICH) 204.Processor 206, main memory 208, and graphics processor 210 are coupledto north bridge and memory controller hub 202. Graphics processor 210may be coupled to the MCH through an accelerated graphics port (AGP),for example.

In the depicted example, local area network (LAN) adapter 212 is coupledto south bridge and I/O controller hub 204 and audio adapter 216,keyboard and mouse adapter 220, modem 222, read only memory (ROM) 224,universal serial bus (USB) ports and other communications ports 232, andPCI/PCIe devices 234 are coupled to south bridge and I/O controller hub204 through bus 238, and hard disk drive (HDD) 226 and CD-ROM drive 230are coupled to south bridge and I/O controller hub 204 through bus 240.PCI/PCIe devices may include, for example, Ethernet adapters, add-incards, and PC cards for notebook computers. PCI uses a card buscontroller, while PCIe does not. ROM 224 may be, for example, a flashbinary input/output system (BIOS). Hard disk drive 226 and CD-ROM drive230 may use, for example, an integrated drive electronics (IDE) orserial advanced technology attachment (SATA) interface. A super I/O(SIO) device 236 may be coupled to south bridge and I/O controller hub204.

An operating system runs on processor 206 and coordinates and providescontrol of various components within data processing system 200 in FIG.2. The operating system may be a commercially available operating systemsuch as Microsoft® Windows® XP (Microsoft and Windows are trademarks ofMicrosoft Corporation in the United States, other countries, or both).An object oriented programming system, such as the Java™ programmingsystem, may run in conjunction with the operating system and providescalls to the operating system from Java programs or applicationsexecuting on data processing system 200 (Java and all Java-basedtrademarks are trademarks of Sun Microsystems, Inc. in the UnitedStates, other countries, or both).

Instructions for the operating system, the object-oriented programmingsystem, and applications or programs are located on storage devices,such as hard disk drive 226, and may be loaded into main memory 208 forexecution by processor 206. The processes of the illustrativeembodiments may be performed by processor 206 using computer implementedinstructions, which may be located in a memory such as, for example,main memory 208, read only memory 224, or in one or more peripheraldevices.

The hardware in FIGS. 1-2 may vary depending on the implementation.Other internal hardware or peripheral devices, such as flash memory,equivalent non-volatile memory, or optical disk drives and the like, maybe used in addition to or in place of the hardware depicted in FIGS.1-2. Also, the processes of the illustrative embodiments may be appliedto a multiprocessor data processing system.

In some illustrative examples, data processing system 200 may be apersonal digital assistant (PDA), which is generally configured withflash memory to provide non-volatile memory for storing operating systemfiles and/or user-generated data. A bus system may be comprised of oneor more buses, such as a system bus, an I/O bus and a PCI bus. Of coursethe bus system may be implemented using any type of communicationsfabric or architecture that provides for a transfer of data betweendifferent components or devices attached to the fabric or architecture.A communications unit may include one or more devices used to transmitand receive data, such as a modem or a network adapter. A memory may be,for example, main memory 208 or a cache such as found in north bridgeand memory controller hub 202. A processing unit may include one or moreprocessors or CPUs. The depicted examples in FIGS. 1-2 andabove-described examples are not meant to imply architecturallimitations. For example, data processing system 200 also may be atablet computer, laptop computer, or telephone device in addition totaking the form of a PDA.

The illustrative embodiments provide a computer implemented method,apparatus, and computer usable program code for managing files. A set oforigination locations for files are identified in response to a requestto view the files. The set of origination locations is one or morelocations. Each origination location in the set of origination locationsidentifies a location from which a file in the files has been received.In other words, the origination location is a download location. Arepresentation of these files is presented using a set of one or moregraphical indicators or based on the set of origination locations forthe files.

The origination locations for files are identified when files aredownloaded in these examples. The presentation of the files usinggraphical indicators may take various forms. For example, the differentlocations may be identified using a set of colors, different icons, or aset of alpha-numeric characters.

Turning now to FIG. 3, a diagram illustrating components used foridentifying the location of files is depicted in accordance with anillustrative embodiment. In this illustrative example, download process300 downloads or receives files 302 from sources, such as source 304 andsource 306. As these files are downloaded, the user may be given anoption to have the files 302 associated with a graphical indicator, suchas color codes, based on the origination of these files from source 304and source 306.

The information regarding the location of the files 302 is identifiedand stored in location data 308. The location information is identifiedfrom the universal resource locator (URL) in these examples. Theuniversal resource locator from which a file is obtained is compared toa list or database of universal resource locator that are correlated toknown sources. For example the universal resource locator having adomain name, such as abc.com, is associated with a company called ABC,Inc. In addition or in place of identifying the source based on theuniversal resource locator, the different embodiments may associate thedownload location with a trust level for security purposes. If the userselects to use this option, the download location is captured asmetadata and stored in location data 308.

For example, if the user obtains plug-ins from source 304, theidentification of the location of source 304 is stored in location data308 as the plug-ins are stored or received as files 302. The location isstored in association with an identification of the file in locationdata 308. If the user obtains a freeware or shareware application fromsource 306, the identification of that location is stored in locationdata 308 as the files for the freeware or shareware application arereceived in files 302. As a result, each file in files 302 is associatedwith the location of source 304 or source 306 in location data 308, inthese examples.

In this manner, a representation of files 302 may be presented usinggraphical indicators. In addition to this type of organizationmechanism, the different illustrative embodiments also may allow forfiles to be sorted based on the download location. A legend identifyingthe different graphical indicators also may be presented to allow theuser to easily identify the location of different files.

Download process 300 may be implemented as a separate application orpart of another application. For example, download process 300 may beimplemented in a web browser. Further, download process 300 also may beplaced into an operating system as an operating system feature dependingon the particular implementation.

Turning now to FIG. 4, a diagram illustrating components used forviewing files based on download locations is depicted in accordance withan illustrative embodiment. Viewer process 400 is initiated in theseexamples when a user input is received at graphical user interface (GUI)402 to display files 404. In these examples, viewer process 400 usesmetadata stored in location data 406 to identify the download locationof files 404 in response to a user request to view files 404. Thisrequest may be made in a number of different ways through GUI 402. Forexample, the user may select entries from a start menu to displayprogram or document files. Alternatively, the user may use an explorerprogram to display files and folders.

Files 404 are presented in GUI 402 using a representation of the files.This representation is typically an icon with text. In these examples,the representation of the files is altered or modified to identify thelocation from which the location have been received or downloaded. Theparticular manner in which the graphical indicators are selected isbased on policy 408, in these examples. Policy 408 may be, for example,a set of rules designating color coding for different downloadlocations. Policy 408 may be preset or selected based on user input,depending on the particular implementation.

A user may select using color coding to present files 404 through GUI402. The user also may select the particular color coding for eachparticular location in location data 406. These types of selections mayform a set of rules in policy 408 for presenting files 404. Depending onthe particular implementation, the user may be presented with othertypes of graphical indicators other than colors when viewing files. Forexample, an additional icon may be embedded with the graphicalrepresentation of a file depending on the location from which the filewas received. Another option the user may set through GUI 402 is to sortthe files based on the download location. Further, the user also mayselect to display a legend for the different graphical indicators to bepresented with the files in GUI 402.

Turning now to FIGS. 5A and 5B, diagrams illustrating a display of filesare depicted in accordance with an illustrative embodiment. In thisillustrative example in FIG. 5A, display 500 shows a program listingthrough program 502 in start menu 504. In this example, program 502contains two groupings: IBM 506 and ABC, Inc 508. Each of thesegroupings contains a listing of files, such as programs, documents, orother types of files. In this example, the user has moved a pointer overIBM 506 to display files within this grouping.

IBM 506 contains IBM Document 510 and IBM Program 512. In theseexamples, the display of these files is presented using a graphicalindicator to identify the source from which the files were received. Inother words, the graphical indicator identifies the download location ofthe files. In these examples, the graphical indicator is a color codingas illustrated by the cross hatching in the graphical representation ofIBM Document 510 and IBM Program 512. Legend 514 identifies the locationor source of these files. In this example, vendor 516 is the source ofIBM Document 510 and IBM Program 512.

Many times, the source or download location of the files is differentfrom the company or organization that created the program or document.For example, an employee may download operating system patches from theemployer's internal website or intranet rather than directly from theoperating system vendor that created the files. Such a download is oftenmade because the employer may make slight modifications or additions tothe package tailored specifically for the internal architecture of thecompany. The identification of the download location makes determiningwhether files are trusted files easier for the user.

In FIG. 5B, the user has moved the pointer over ABC, Inc 508. Thiscauses the display of files within this grouping. These files includeABC, Inc Document 518 and ABC, Inc Program 520. In this example, ABC,Inc Document 518 is displayed using the same graphical indicator orcolor as with IBM Document 510 and IBM Program 512. This indicates thatthis file was received from vendor 516. ABC, Inc Program 520, however,is displayed using a different color coding as indicated by the crosshatching for ABC, Inc 520. This color coding indicates that the file wasreceived from reseller 522 rather than vendor 516. In this manner, colorcoding is used along with legend 514 to identify the download locationsof the files in the different groupings.

Additionally, in FIGS. 5A and 5B, groupings of files also may beassociated with an indication of the source from which the files werereceived. In this example, IBM 506 indicates that the files werereceived from vendor 516. ABC, Inc 508 does not contain a graphicalindication in this example. A graphical indication is not providedbecause ABC, Inc 508 contains files from more than one downloadlocation.

With a color coding system for files being downloaded, the actual sitemay be identified using a name for the site or the entity that providesthe files at that site. Additionally, the source from which files havebeen received may be identified using a designation that may encompassmore than one site. For example, green may be used for a downloaded filefrom a trusted site, red for a file downloaded from a freeware site,yellow for a file downloaded from a shareware site, blue for a filedownloaded from a browser plug-in site, orange for a file downloadedfrom an unknown site, and white for a file that is not downloaded. Whitewould indicate, for example, a file that is part of the originaloperating system installation.

In addition to color coding the graphical representation of the file,the text could be in a user defined color according to some legend orassociation scheme.

Turning now to FIG. 6, a diagram illustrating a designation of locationsfor files in accordance with an illustrative embodiment. In this figure,display 600 is a desktop containing IBM Program 602 and ABC, Inc Program604. In this example, the graphical indicator takes the form of an iconthat is displayed in association with the representation of the programon display 600. IBM Program 602 is displayed in association with circle606 while ABC, Inc Program 604 is displayed in association with star608.

Turning now to FIG. 7, a diagram illustrating a listing of files sortedbased on download location is depicted in accordance with anillustrative embodiment. In this example, window 700 is a listing offiles. IBM Document 702, IBM Program 704, ABC, Inc Document 708 and ABC,Inc Program 706 are displayed with details in this example. Each entrycontains, in addition to the name of the file, the date the file wasmodified, the size of the file, the file type, and a download location.The different illustrative embodiments add this additional detail tohelp a user identify the source or download location of files. In thisparticular example, instead of displaying the actual download location,the download location is associated with an identification of the typeof site. For example, IBM Document 702 is from a trusted site while ABC,Inc Document 708 is from an unknown site.

Turning now to FIG. 8, a flowchart of a process to identify andassociate location data with downloaded files is depicted in accordancewith an illustrative embodiment. The process illustrated in FIG. 8 is anexample of a process that may be implemented in download process 300 inFIG. 3.

The process begins by identifying the location of the download (step800). Next, the process receives the file (step 802). Then, the processassociates the file with location data (step 804). Finally, the processdetermines whether more files are present to download (step 806). If theprocess determines more files are present to download in step 806, theprocess returns to step 802 to receive the files. If the processdetermines no more files are present to download in step 806, theprocess terminates.

Turning now to FIG. 9, a flowchart of a process to display a set offiles using the associated location data is depicted in accordance withan illustrative embodiment. The flowchart in FIG. 9 illustrates aprocess that may be implemented in viewer process 400 in FIG. 4.

The process begins by receiving a request to view a set of files (step900). In step 900, the request may originate from a user input selectingentries in a start menu or a user initiating an explorer program to viewfiles. Next the process, selects a file from the set of files forprocessing (step 902). The process determines if the file is associatedwith location data (step 904). This determination is made using locationdata, such as location data 406 in FIG. 4. If the file is associatedwith location data in step 904, the process identifies a display modefor the file using a policy, such as policy 408 in FIG. 4 (step 906).

Then, the process determines more files are present to process (step908). If more files are not present to process, the files are sorted bydownload location (step 910), and the set of files are displayed usingthe associated location data (step 912) with the process terminatingthereafter.

Turning back to the determination made in step 908, if the processdetermines that more files are present to process, the process returnsto step 902. Turning further back to the determination made in step 904,if the process determines that the file is not associated with locationdata, the process proceeds to step 908 and continues as described above.

Thus, the present invention provides a computer implemented method,apparatus, and computer usable program code for managing files. Inresponse to a request to view files, origination locations for the filesare identified. Each origination location identifies a location fromwhich a file has been received. Representations of the files arepresenting using a set of graphical indicators based on the originationlocations. As a result, a user is able to present files based on theirdownload location. In the depicted examples, the files are presentedusing graphical indicators in the form of color coding. Of course, anytype of graphical indication may be used to differentiate files based ondownload location.

The invention can take the form of an entirely hardware embodiment, anentirely software embodiment or an embodiment containing both hardwareand software elements. In a preferred embodiment, the invention isimplemented in software, which includes but is not limited to firmware,resident software, microcode, etc.

Furthermore, the invention can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer readable medium can be any tangibleapparatus that can contain, store, communicate, propagate, or transportthe program for use by or in connection with the instruction executionsystem, apparatus, or device.

The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk and an optical disk. Current examples of opticaldisks include compact disk—read only memory (CD-ROM), compactdisk—read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modem and Ethernet cards are just a few of thecurrently available types of network adapters.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention, the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. A computer implemented method for managing files, the computerimplemented method comprising: responsive to a request to view aplurality of files, identifying a set of origination locations for theplurality of files to form a set of identified origination locations,wherein each origination location in the set of identified originationlocations identifies a location from which a file in the plurality offiles has been received; and presenting a representation of theplurality of files in using a set of graphical indicators based on theset of identified origination locations.
 2. The computer implementedmethod of claim 1 further comprising: responsive to a request todownload a set of files for a location, presenting an option toassociate the set of files with a graphical indicator for the location.3. The computer implemented method of claim 1, wherein the set ofgraphical indicators is at least one of a set of colors, a set of icons,and a set of alphanumeric characters.
 4. The computer implemented methodof claim 1, wherein the set of origination locations is a singlelocation.
 5. The computer implemented method of claim 1 furthercomprising: sorting the plurality of files based on the set ofidentified origination locations.
 6. The computer implemented method ofclaim 1 further comprising: displaying a legend providing a correlationbetween the set of graphical indicators and the set of identifiedorigination locations.
 7. The computer implemented method of claim 1further comprising: assigning the set of graphical indicators to theplurality of files based on the set of identified origination locations.8. A computer program product comprising: a computer usable mediumhaving computer usable program code for managing files, the computerprogram medium comprising: computer usable program code, responsive to arequest to view a plurality of files, for identifying a set oforigination locations for the plurality of files to form a set ofidentified origination locations, wherein each origination location inthe set of identified origination locations identifies a location fromwhich a file in the plurality of files has been received; and computerusable program code for presenting a representation of the plurality offiles in using a set of graphical indicators based on the set ofidentified origination locations.
 9. The computer program product ofclaim 8 further comprising: computer usable program code, responsive toa request to download a set of files for a location, for presenting anoption to associate the set of files with a graphical indicator for thelocation.
 10. The computer program product of claim 8, wherein the setof graphical indicators is at least one of a set of colors, a set oficons, and a set of alphanumeric characters.
 11. The computer programproduct of claim 8, wherein the set of origination locations is a singlelocation.
 12. The computer program product of claim 8 furthercomprising: computer usable program code for sorting the plurality offiles based on the set of identified origination locations.
 13. Thecomputer program product of claim 8 further comprising: computer usableprogram code for displaying a legend providing a correlation between theset of graphical indicators and the set of identified originationlocations.
 14. The computer program product of claim 8 furthercomprising: computer usable program code for assigning the set ofgraphical indicators to the plurality of files based on the set ofidentified origination locations.
 15. A data processing systemcomprising: a bus; a communications unit connected to the bus; a storagedevice connected to the bus, wherein the storage device includescomputer usable program code; and a processor unit connected to the bus,wherein the processor unit executes the computer usable program code toidentify a set of origination locations for the plurality of files toform a set of identified origination locations in response to a requestto view a plurality of files, wherein each origination location in theset of identified origination locations identifies a location from whicha file in the plurality of files has been received; and present arepresentation of the plurality of files in using a set of graphicalindicators based on the set of identified origination locations.
 16. Thedata processing system of claim 15 wherein the processor unit furtherexecutes the computer usable program code to present an option toassociate the set of files with a graphical indicator for the locationin response to a request to download a set of files for a location. 17.The data processing system of claim 15, wherein the set of graphicalindicators is at least one of a set of colors, a set of icons, and a setof alphanumeric characters.
 18. The data processing system of claim 15,wherein the set of origination locations is a single location.
 19. Thedata processing system of claim 15 wherein the processor unit furtherexecutes the computer usable program code to sort the plurality of filesbased on the set of identified origination locations.
 20. The dataprocessing system method of claim 15 wherein the processor unit furtherexecutes the computer usable program code to display a legend providinga correlation between the set of graphical indicators and the set ofidentified origination locations.